//package com.estore;
//import java.io.Serializable;
//import java.util.HashSet;
//import java.util.Objects;
//import java.util.Set;
//
////public class Product implements Comparable<Product>{
//public class Product implements Serializable,Comparable<Product>{
//    private static final long serialVersionUID=2L;
//    private String id;      // 商品ID
//    private String name;    // 商品名称
//    private double price;   // 价格
//    private int stock;// 库存
//    private Set<String> tags;
//
//    public Product(String id, String name, double price, int stock, Set<String> tags) {
//        this.id = id;
//        this.name = name;
//        this.price = price;
//        this.stock = stock;
//        this.tags=(tags !=null)?new HashSet<>(tags):new HashSet<>();
//    }
//
//    // Getters and Setters ...
//    public String getId() { return id; }
//    public void setId(String id) { this.id = id; }
//    public String getName() { return name; }
//    public void setName(String name) { this.name = name; }
//    public double getPrice() { return price; }
//    public void setPrice(double price) { this.price = price; }
//    public int getStock() { return stock; }
//    public void setStock(int stock) { this.stock = stock; }
//    public Set<String> getTags() { return new HashSet<>(tags); }
//    public void setTags(Set<String> tags) { this.tags = new HashSet<>(tags); }
//    @Override
//    public String toString() {
//        String tagStr = tags.isEmpty() ? "无" : tags.toString();
//        return String.format("ID: %-5s | 名称: %-20s | 价格: ¥%-8.2f | 库存: %d | 标签：%s" , id, name, price, stock,tagStr);
//    }
//    @Override
//    public boolean equals(Object o) {
//        if (this == o) return true;
//        if (o == null || getClass() != o.getClass()) return false;
//        Product product = (Product) o;
//        return Objects.equals(id, product.id);
//    }
//
//    @Override
//    public int hashCode() {
//
//        return Objects.hash(id);
//    }
//    @Override
//    public int compareTo(Product other) {
//        return this.id.compareTo(other.id);
//    }
//}
